comentários da página
obrigado





---->Base de Conhecimento---> Gestão de Sistemas de Informação->Desenvolvimento --->Linguagens de programação
                                                    

                       CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO

USOS DA PROGRAMAÇÃO
Aplicação Científicas
Aplicações Comerciais
Inteligência Artificial
Programação de Sistemas Básicos
Linguagens de Scripting
linguagens para Propósitos Especiais

CRITÉRIOS DE AVALIAÇÃO DE UMA LINGUAGEM

Legibilidade
    Simplicidade Global
    Ortogonalidade
    Instrução de Controle
    Tipos de Dados e Estrutura
    Linguagens para Propósitos Especiais
    Considerações sôbre siontaxe
Capacidade de Escrita
    Simplicidade e Ortogonalidade
    Suporte para Abstração
    Expressividade
Confiabilidade
    Verificação de Tipos
    Manipulação de Exceções
    Aliasing
    Legilibilidade e Capacidade de Escrita
Custo

INFLUÊNCIA SÔBRE O PROJETO DE LINGUAGEM

Arquitetura do Computador
Metodologias de programação

Exemplos de conflitos entre critérios de projeto(e avaliação)
de linguagens; alguns são muitos sutis, outros são obvios. Portanto, é evidente que a tarefa de
escolha de construção e recursos ao projetar uma linguagem de programação envolve uma
coleção de meios-termos e de trade-offs.
Ex.: Os projetistas da APL trocaram a legibilidade por capacidade de escrita.
       Os projetistas da ADA trocaram a eficiência de execução pela confiabilidade.

METODOS DE IMPLANTAÇÃO

Compilação
Interpetração pura
Sistema de implementação hibrido

AMBIENTES DE PROGRAMAÇÃO

É um conjunto de ferramentas usadas no desenvolvimento de software. Pode consistir em
somente um sistema de arquivos, em um editor, de texto, em um linker e em um compilador.
Ou pode incluir uma grande coleção de ferramentas integradas, cada uma das quais acessadas por meio de uma interface, chamadas IDE´s : Together, Eclipse, Visual Studio, Java Development Kit, etc.
Para mainframes: Natural Adabas, Ideal Datacom, Mantis, Roscoe, TSO , etc

EVOLUÇÃO DAS PRINCIPAIS LINGUAGENS DE PROGRAMAÇÃO

CATEGORIAS DE LINGUAGENS

Imperativas ou orientadas a procedimentos (Fortran, Cobol, Algol, Pascal, PL/1,..)
funcionais (Lisp,ML, Haskell,..)
 Lógicas (Prolog,...)
Orientadas a objeto (C++, Java, Smaltalk,..)
Marcação (Html, Xml,... )

 


DESCREVENDO A SINTAXE E A SEMÂNTICA

Desde meados até o final da década de 50, John Backus e Noam Chomsky, inventaram a mesma notação, que se tornou, desde então, o método mais usado para descrever formalmente a sintaxe das linguagens de programção (metalinguagem BNF ou Backus-Naur)
notação:

::= é definido como
*   ocorre de 0 até n (sequencia
=>deriva
< > não terminal
{ } terminal
+   1 ou mais ocorrência
|    escolha (ou)

Exemplo de regra de sintaxe de um programa genérico:
<program> :: = { <statment>* }
<statment> :: = <ação>|<condição>|<loop>
<ação>       :: = <identificador> = <expressão>
<condição> :: = if <expressão> { statement> + }
                         if <expressão> { statement> +} else {<statement> + }
<loop>        :: = while <expressão> { <statement> +}
<expressão>:: = <identificador> | <numero> | (<expressão> ) |
                          <expressão> <operador> <expressão>

Exemplo de regra léxica das regras acima:

<operador> :: = +|-|/|=|=/|<|>|<=|>=
<identificador> :: = <letra>| <id>
<id> :: = <letra> | <digito>
<numero> :: = <digito> +
<letra> :: = a|b|c|d| ... |z
<digito> :: = 0|1|2|3| ..|9

Exemplo de sintaxe do if
if (<expressão>) <instrução>

Exemplo de semantica do if
se o valor atual da expressão for verdadeiro, a instrução incorporada será selecionada para execução.

Para ver o diagrama e regra de sintaxe de linguagens como Java vá em :
http://cuiwww.unige.ch/db-research/Enseignement/analyseinfo/DIAG33JAVA/index.html

ou de outras linguagens
http://cui.unige.ch/db-research/Enseignement/analyseinfo/BNFweb.html

exemplo aplicado comando select da linguagem SQL



Outra forma de descrever linguagens é através de metamodelos, como podemos ver a seguir:

LINGUAGENS DE MARCAÇÃO

SGML Standard Generalized Markup Language - padrão para definir descrições de estrutura e conteudo de diversos tipos de documentos.
HTML Hyper Text Markup Language - lingua para publicação de hipertexto ma Word Wide Web. É um subconjunto da SGML de formato não proprietário. É bom para apresentação mas não ajuda extração de informações pelos programas. Essas e outras deficiências estão sendo sanadas pelo XML.
XML eXtensible Markup Language - metalinguagem e subconjunto da SGML. A descrição do documento é dadoda por um DTD (Document Type Definition) que é anexada a cada documento XML, possibilitando um mecanismo para que sejam criadas ontologias.
DTD Document Type Definition - mostram o nome e conteudo de cada elemento e atributo do documento. Sem o DTD os programas que acessam o documento podem não saber processar imagem, links, e entidades.
XQuery XML Query Language - é uma liguagem de consulta para fontes de informações em XML.
XML Schema -e responsavel pelo modo da definição da estrutura, conteudo e semântica do documento XML.
XHTML eXtensible Hyper Text Markup Language - -e uma reformulação do HTM em ML
CSS mecanismo para controlar o estilo de paginas HTML (fontes, margens, bordas, cores, etc
DOM Document Object Model - possibilita que scripts manipulem HTML
URI Uniform Resouce Identifier - conjunto genérico que permite de todos os nome/endereços, que identificam recursos na rede: Documentos, imagens, serviços, etc . É uma pequena string.
URL Uniform Resouce Locator - temo informal associado com esquemas URI popularees http, ftp, mailto, etc.
XSL eXtensible Stylessheet Language - é uma linguagem para expressar stylesheet.. Consiste de 3 partes Xsl, XPath, XSL Formatting Objects
XSLT XSL Transformations - linguagem para transformardocumentos XMl em outros documentos XML. Contem um vocabulario para XML para especificação de formatação.
XPath XML Path Language - prover uma sintaxe e sematica comuns para compartilhar funcionalidades entre XSLT e SPointer. É usada dentro de URI. Navega na estrurura hierárquica de um documento XML
XLink XML Linking Language - permite que documentos XML: declarem relacionamentos de links entre mais de 2 recursos; associe metadaos cum um link; expresse links que residam em um local separado dos recursos relacionados.
XPointer XML Pointe Language - faz parte do padrão Xlink, especifica como declarar endereços dentro de expressões XLink.
RDF Resourse Description Framework - define um modelo simples para definir relacionamento de recursos em termos de propriedades e valores. Similar a diagrama entidade e realacionamentos.
RDF Schema Mecanismo para descrever (na forma de grafos) os relacionamentos entre propriedades e recursos. Define classes e propriedaes que podem ser usadas para descrever outras classes e propriedades. Cria metadados que cujas declarações possam criar multiplos vocabolarios que são gerenciaveis de maneira descentralizada por comuniades independentes
MathML Mathematic Markup Language - é uma aplicação de XML para descrever notações matemáticas e capturar tanto sua estrutura com o conteudo.
GML Geography Markup Language - é uma codificação XML para transporte e armazenamento de informações geográficas, incluindo propriedades espaciais e não espaciais.
ebXML Electronic Business using Extensible Markup Language - linguagem baseada em XML que dispoôe de uma infra-estrutura para o uso de informações de negocios na internet, para empresas de qq tamanho e em qq localização geográfica
SMIL Syncronized Multimedia Integration Languagem - possibilita a autoria de apresentações audiovisuais interativas.
SVG Scalable Vector Graphics - linguagem para descrição de gráficos bidimensionais em XML
XForms formulários - separa apresentação, ddos e lógica de modo que os mesmos forms sejam usados para apresentação bem distintas. Exemplo de navegador/ ferramenta de autoria Amaya.

LINGUAGEM JAVA

clicar no mapa para abrir

Uma referencia de tôdas as linguagens contidas no google pode ser vista clicando aqui


Resumo de varias linguagens ver em clicando aqui

 

A continuar .......
                Natureza dos nomes, palavras reservadas, variáveis,tipos, escopo, blocos
                Tipos de dados
                Expressões e instruções de atribuição
                Estrutura de controle no nivel de instrução
                Subprogramas
                Implementando subprogramas
                Tipos de dados abstratos
                Suporte para programação orientada a objeto
                Concorrências
                Manipulação de exceções
                Linguagens de programação funcional
                Linguagens de programação lógicas